const api = require('../../utils/api')
const layer = require('../../utils/layer')
const util = require('../../utils/util')
const listTouchBehavior = require('../../utils/listTouchBehavior')
Component({
    // 混入列表滑动
    behaviors:[listTouchBehavior],
    /**
     * 页面的初始数据
     */
    data: {
        dataList: [], // 数据列表
        param: {}, // 查询参数
        isInit: false, // 保证初始化操作只执行一次
        teamName: "", // 新增团队的名称
        userId: 0,// 当前登录的用户的id
    },
    /**
     * 生命周期
     * @param {} options 
     */
    attached(options) {
        this.setData({
            userId: wx.getStorageSync("userId") // 获取当前登录的用户的id
        })
        // 获取团队列表
        this.getDataList();
    },
    pageLifetimes: {
        show: function () {
            // 获取最新的团队列表
            if (this.data.isInit) {
                this.getDataList();
            } else {
                this.setData({
                    isInit: true
                })
            }
        },
    },
    methods: {
        /**
         * 获取团队列表
         */
        getDataList() {
            layer.showLoading("团队获取中...");
            api.post("/team/list", this.data.param).then(res => {
                wx.hideLoading();
                this.setData({
                    dataList: res.data
                })
            });
        },
        /**
         * 跳转团队详情页
         * @param {*} e 
         */
        detail(e) {
            let id = e.currentTarget.dataset.id
            let name = e.currentTarget.dataset.name
            wx.navigateTo({ url: `/pages/team/detail/teamDetail?id=${id}&name=${name}` });
        },
        /**
        * 去团队消息页面
        */
        toMessagePage() {
            wx.navigateTo({ url: "/pages/team/message/message" })
        },
        /**
         * 添加团队
         */
        addTeam() {
            let teamName = this.data.teamName;
            // 校验
            if (util.isEmpty(teamName)) {
                layer.showErrorToast("团队名称非空！")
                return;
            }
            layer.showLoading("团队保存中...")
            // 保存团队信息
            api.post("/team/save", { name: teamName }).then(res => {
                wx.hideLoading;
                layer.showToast(res.message)
                this.setData({
                    modalName: ''
                })
                // 重新拉取团队信息
                setTimeout(() => {
                    this.getDataList();
                }, 500);
            });

        },
        /**
         * 删除团队
         */
        deleteTeam(e) {
            let name = e.currentTarget.dataset.name;
            let id = e.currentTarget.dataset.id;
            let that = this;
            layer.showModal(() => {
                wx.showLoading();
                api.get("/team/delete", { teamId: id }).then(res => {
                    layer.showToast(res.message);
                    setTimeout(() => {
                        that.getDataList();
                    }, 500);
                });
            }, '提示', `确定要删除团队【${name}】吗？`);
        },
        /**
         * 显示对应model
         */
        showModel(e) {
            this.setData({
                modalName: e.currentTarget.dataset.model
            })
        },
        /**
         * 隐藏model
         */
        hideModal() {
            this.setData({
                modalName: ''
            })
        },
    }
})